package han.yang.service.friendship.service;

import han.yang.common.ResponseVO;
import han.yang.common.model.RequestBase;
import han.yang.service.friendship.model.dto.FriendDto;
import han.yang.service.friendship.model.req.*;

/**
 * @author yanghan
 * @date 2023/2/25
 */
public interface ImFriendService {

    /**
     * 导入好友关系
     * @param req 导入请求
     * @return 导入结果
     */
    ResponseVO<?> importFriendShip(ImportFriendShipReq req);

    ResponseVO<?> addFriend(AddFriendReq req);

    ResponseVO<?> updateFriend(UpdateFriendReq req);

    ResponseVO<?> deleteFriend(DeleteFriendReq req);

    ResponseVO<?> deleteAllFriend(DeleteFriendReq req);

    ResponseVO<?> getAllFriendShip(GetAllFriendShipReq req);

    ResponseVO<?> getRelation(GetRelationReq req);

    ResponseVO<?> checkFriendship(CheckFriendShipReq req);

    ResponseVO<?> addBlack(AddFriendShipBlackReq req);

    ResponseVO<?> deleteBlack(DeleteBlackReq req);

    ResponseVO<?> checkBlack(CheckFriendShipReq req);

    ResponseVO<?> doAddFriend(RequestBase req, String fromId, Integer appId, FriendDto dto);

}
